home *** CD-ROM | disk | FTP | other *** search
- Modifications to NOS 921129/PA0GRI/WG7J 1.09 by KF8NH: (ALPHA.3 Development)
-
- * Tracing. A new mode "monitor" has been added which uses a compressed display
- format and displays AX.25 Text packets the way they look to users. This is
- not Linux-specific. Define MONITOR in config.h to enable this. This uses
- the previously undefined flag combination IF_TRACE_ASCII|IF_TRACE_HEX,
- available as the flag "monitor".
- #define MONITOR
- "trace <if> monitor" activates
- "trace <if> -monitor" returns to ASCII trace
-
- * AX.25 ttycall. This is equivalent to an ordinary PBBS keyboard-to-keyboard
- connect; AX.25 connects to this call get fed directly to ttylink.
- #define TTYCALL
- "ax25 ttycall <callsign>"
-
- * 3-argument "ax25 bc". You can now optionally specify a string to broadcast.
- I use this to get separate beacons on each interface, since one is on an IP
- frequency and the other is a user frequency.
- #define AXBCSTR
- "ax25 bc <if> [<string>]"
-
- Support for Linux (386 *ix clone) and other POSIX-supporting *ix:
-
- Compiling with -DLINUX and -DUNIX causes JNOS to be built for the Linux
- environment. This has quite a few differences in terms of implementation
- but (hopefully) few, if any, user-visible differences.
-
- * Display is asynchronous: each session window continues to be updated even
- if it is not current. Page mode becomes a bit more important with this
- change.
-
- * The display management is done via curses. A session manager is partially
- implemented; when complete, several other options will be available ("dumb"
- for use from /etc/rc, "xterm" for separate windows for each session).
-
- * F1-F10 are supported via terminfo. (Linux's termcap-based curses is too
- buggy for NOS to function; it dumps core when it tries to scroll.) They
- have the same meanings as under the DOS version. The arrow keys are also
- supported, and command history works.
-
- * You can't run JNOS out of /etc/rc; it has to be interactive. This will
- change in the future; see above.
-
- * Device types other than asy are NOT supported. These will require kernel
- device drivers. An scc driver for Linux is available; it should be in
- the tcpip/incoming area on ucsd.edu, where you hopefully found JNOS/Linux,
- as sccdrv12.taz. (By now this has probably been moved.)
-
- * Interfacing to the Linux TCP/IP system is NOT directly supported. However,
- you can easily run SLIP over a pty (!) between JNOS and Linux; attach the
- master side of the pty using "dip", then attach the slave in JNOS as if it
- were a tty.
-
- * Connects get the JNOS BBS; no provision for system logins is made, and none
- will be made. This is an even bigger potential security hole than TCP/IP
- gatewaying; that is why I chose to port JNOS instead of running WAMPES,
- which has already been ported to Linux. (Note that, because of the way
- WAMPES used to manage users, a malicious user could play a trick like
- setting their MYCALL to the name of a user. Later versions of WAMPES still
- allow this as an option but also provide more secure alternatives.)
-
- * A completely different means of scheduling timers and checking for I/O is
- used, which is both more efficient and more responsive than the DOS method.
- Instead of using a 55-ms timer tick and checking for timers and I/O on each
- tick, the system sleeps on a select() on the asy ports and keyboard with a
- select timeout. When not sleeping on the select, a 55-ms timer tick is
- still used to prevent I/O blockage during slow operations, e.g. the linear
- linked-list search/insert used by the "dir" command to sort the file list.
-
- The Linux support is at least partially portable, as Linux's native API is the
- POSIX P1003.1 specification. However, POSIX leaves several things unspecified
- and others optional; for example, the asy management is POSIX, but I don't
- expect to see DOS (usefully) supporting tcsetattr() in the near future :-)
- select() is POSIX optional, but is utterly essential to JNOS. The directory
- utilities use statfs(), of which at least four (!) variants exist, none POSIX.
- And so on.
-
-
- u2j - mail filtering:
-
- The "u2j" program is provided to pass messages from Linux into NOS. (Sorry,
- going the other way isn't supported yet, except by connecting them via SLIP.)
- Usage is: "u2j NOS-address < file-with-RFC822-formatted-message". This usage
- works well with aliases and .forward files, for gatewaying mailing lists.
-
- You'll need to edit u2j.c to change the pathname to your JNOS installation.
- Someday I may clean this up (probably a command line option).
-
-
- TODO:
-
- * Implement fkeys. This will take some work, as I can't use KEY_* from
- ncurses (it blocks). On the other hand, since I've already *got* key trie
- code, all I really need is tigetstr(). This also means that fkey can take
- key names from terminfo instead of cryptic numbers (not that the terminfo
- names are necessarily all that much better, mind you.... :-) Yet again,
- though, the issue of session managers complicates this.
-
- * Finish session manager support and detached consoles. The folks who have
- to wait for me to start X so they can digi through me will undoubtedly thank
- me for this :-) N.B. This will take real work. Don't expect it soon.
-
- * Implement RTS/CTS flow control. Doable, but I can't test it.
-
- * Implement DTR(=DCD). Once again, SCO is a bottleneck (actually, System V in
- general): you can't distinguish between a no-delay read with no data avail-
- able and a read with no carrier present. Sigh.
-
- * Use a Unix format for ftp's LIST and NLST commands. I'm holding off until
- I decide how to best map DOS attributes: if I do this it will be usable
- under both, since some folks have requested a format that will work with
- point-and-shoot ftp client front-ends.
-